


#include "PluginAPI.hpp"
#include "PluginInterface.hpp"

#include <QTableWidget>
#include <QPushButton>
#include <QObject>
#include <QWidget>
#include <QDialog>
#include <QVBoxLayout>
#include <QHeaderView>
#include <QTableWidgetItem>
#include <QStandardItemModel>

#ifndef PLUGINWIDGET_H
#define PLUGINWIDGET_H


class PluginInterface;

NAMESPACE_BEGIN(NSPluginWidget)

class PLUGINAPI PluginWidget : public QWidget {
	Q_OBJECT
	SIGNALDEC(PluginWidget, QWidget)
protected:
	void Initialize();
	void Finalize();


public Q_SLOTS:
	void openCurrentPlugin(QTableWidgetItem* item);


public:
	QPushButton* load_plugin;
	QPushButton* delete_plugin;
	QPushButton* close_plugin_manager;

	void addPlugin2Table(PluginInterface* _interface);
	void clearPluginList();

private:
	QTableWidget* pluginList;


};


NAMESPACE_END



#endif // PLUGINWIDGET_H
